PrecSezione 5.1: Trasmissione su canale numerico SuCapitolo 5: Trasmissione dati in banda base Sezione 5.3: Errori nelle trasmissioni numeriche di banda baseSegue

## 5.2Generazione del segnale dati↓

Facendo di nuovo riferimento allo schema di generazione del segnale dati proposto al § 5.1.2↑, svolgiamo le considerazioni relative alla scelta della forma d’onda elementare g(t).

### 5.2.1Codici di linea↓ a banda infinita

Come anticipato, lo spettro di densità di potenza PX(f)=σ2A(ℰG(f))/(Ts) di un segnale dati ha andamento che dipende direttamente da quello dello spettro di densità di energia ℰG(f) della risposta impulsiva g(t) usata nel formatore di impulsi, e dunque nel caso in cui g(t)=rectτ(t) si ottiene che PX(f) ha andamento di tipo sinc2(fτ), che come noto si estingue come 1⁄f2, con il primo zero per f=1⁄τ. Nel caso in cui si operi a bassa velocità (ossia con τ sufficientemente grande), si può considerare come se il canale fosse a banda infinita, e quindi capace di riprodurre il segnale inalterato.
La figura a lato mostra lo spettro di densità di energia ℰG(f) corrispondente alla scelta di alcune delle forme d’onda g(t) discusse nel seguito, e mostrato per frequenze fino al doppio di fb. Gli andamenti riportati in figura sono ottenuti generando i valori (0 o 1) per 200 simboli binari ak in modo pseudo-casuale [95] [95]La non perfetta indipendenza statistica dei simboli prodotti dal generatore di numeri casuali di un computer si può riflettere su di una ridotta generalità del risultato mostrato, che tuttavia rispecchia molto bene i casi reali., campionando il segnale dati (6.35↑) con 16 campioni per periodo di bit, e calcolando una fft smussata sui campioni così ottenuti. Ogni particolare g(t) dà origine alla definizione di un codice di linea corrispondente, usato nella pratica per trasmettere informazioni di natura binaria. Elenchiamo di seguito caratteristiche e proprietà di tali segnali, aiutandoci con gli esempi riportati in figura.
Codici unipolari
Sono associati a segnali sbilanciati, e presentano un valore nullo o diverso da zero per i due livelli logici 0 ed 1.
NRZ↓ - No Return to Zero
La sigla nrz individua il fatto che il segnale “non torna a zero” per tutto il periodo di bit, essendo g(t)=rectTb(t); pertanto ha spettro di tipo sinc(fTb), con il primo zero a f= 1 ⁄Tb, e presenta una componente continua. Rimane costante per dati costanti e ciò complica la sincronizzazione del clock del ricevitore, data l’assenza in questo caso di transizioni; la presenza di uno zero ad f= 1 ⁄Tb aggrava inoltre la situazione.
RZ↓ - Return to Zero
In questo caso l’impulso g(t) ha durata pari a Tb⁄ 2, il segnale presenta (a parità di ampiezza) minore energia di NRZ, mentre lo spettro presenta una componente pronunciata esattamente a frequenza fb, agevolando la sincronizzazione sul bit ma occupando una banda maggiore. Il segnale si mantiene però costante per lunghe sequenze di zeri.
Codici bipolari↓
Usano segnali bilanciati, e sono ricevuti mediante uno stadio di ingresso differenziale, riducendo la sensibilità al rumore. In funzione del tipo di codice, è possibile garantire l’assenza di una componente continua nel segnale.
NRZ polare, RZ polare
Realizzano l’impulso con polarità negativa quando associato ad un bit pari a zero, e presentano media nulla solo se i valori 0 ed 1 sono equiprobabili. RZ polare non è mai costante, facilitando il compito della sincronizzazione.
Manchester↓ o Diphase NRZ
Realizza una codifica di fase, in quanto usa un impulso RZ a piena dinamica, in salita od in discesa, corripondentemente ai bit 1 e 0. Per questo motivo il segnale risulta sempre a media nulla. L’occupazione spettrale è intermedia tra il caso NRZ ed RZ, dato che la durata media dell’impulso può essere Tb o Tb⁄2. L’uso del codice Manchester è prescritto dallo standard ieee 802.3 per le LAN a bus con contesa di accesso cdma/cd (vedi § 8.6.1.6↓).
Alternate Mark Inversion (AMI↓)
Codifica gli 1 con polarità alternate, mediante un impulso g(t) rettangolare di estensione Tb o Tb⁄ 2, e gli zeri con assenza di segnale, garantendo assenza di valore medio. Qualora la logica sia invertita (impulsi per gli zeri, e silenzio per gli uni) il codice prende il nome di pseudoternario. Da un punto di vista spettrale, l’AMI esibisce una occupazione di banda [96] [96]La densità spettrale mostrata in figura è relativa all’uso di una g(t) di tipo RZ. ridotta rispetto a RZ, per via dei periodi silenti corrispondenti agli zeri. Se il periodo silente è prolungato, l’assenza di transizioni può compromettere la sincronizzazione di bit, e per questo motivo sono stati definiti ulteriori codici derivati, come ad esempio
HDB3
E’ utilizzato per trasmettere il segnale pcm a 2 Mbps (vedi § 6.3.1↓), e l’acronimo significa High-Density Bipolar-3-zeroes. Come per ami, rappresenta gli uni con polarità alternate, ma rimpiazza le sequenze di quattro zeri consecutivi forzando una violazione della regola sull’ultimo bit dei quattro, in modo che il ricevitore, rilevando la violazione, è in grado di riportare il bit a zero. Dato però che la presenza della violazione creerebbe la comparsa di una componente continua nel segnale, sono inseriti anche dei bit di bilanciamento, per rimuovere quest’ultima. I bit di bilanciamento si collocano al posto del primo dei quattro zeri, e la loro polarità è scelta in modo che la sequenza delle violazioni abbia un polarità alternata; in definitiva, dopo la prima violazione, si usa sempre anche il bit di bilanciamento.
Codici differenziali↓
Sono ancora di tipo bipolare, e la forma d’onda non è più legata al solo valore dei bit, ma anche alla loro relazione temporale (vedi anche § 13.4↓). Ciò permette di risolvere l’ambiguità presente qualora si scambino le polarità degli estremi del collegamento.
NRZI
Deriva dall’NRZ, e la I sta per Inverted. Ora il livello del segnale permane nello stesso stato per i bit pari ad uno, e cambia stato per i bit pari a zero. L’assenza di valor medio è legata alla statistica che descrive le sequenze di uni e dunque non può essere garantita, mentre permangono i problemi legati alla sincronizzazione. La ridotta occupazione spettrale lo rende però interessante.
Manchester Differenziale
Usa un impulso RZ a piena dinamica come per Manchester, ma la polarità risulta invertita rispetto al bit precedente se il nuovo bit è uno, mentre è mantenuta nel caso arrivi un zero (in corrispondenza delle frecce); pertanto, in presenza degli uni non si verifica transizione al confine tra i periodi di bit. Questa soluzione è utilizzata nel contesto dello standard ieee 802.5 per LAN Token Ring. L’occupazione spettrale è simile a quella osservabile per la codifica Manchester.

### 5.2.2Segnale dati↓ limitato in banda

Analizziamo i requisiti necessari a realizzare la trasmissione di un segnale dati che impegni una banda strettamente limitata, evidenziando le condizioni da realizzare, e descrivendo le alternative di progetto.

#### 5.2.2.1Requisiti per l’impulso di trasmissione

Limitazione di banda
Abbiamo già osservato (vedi § 5.1.2↑) che (sotto opportune condizioni) la densità di potenza del segnale dati (vedi 6.35↑)) risulta pari a Px(f)=σ2A(|G(f)|2)/(T), e che la sua trasmissione inalterata è possibile solo disponendo di un canale che presenti una risposta in frequenza di tipo passa-tutto (ossia con modulo costante e fase lineare) nella banda di frequenze occupata da G(f).
Nel caso in cui, ad es., si adotti g(t)=rectτ(t), allora G(f)=τsinc(fτ), con τ≤Ts; pertanto, il primo passaggio per zero è a frequenza (1)/(τ)≥(1)/(Ts), e la densità di potenza Px(f) può essere trascurata solo dopo qualche multiplo di tale valore.
Se invece il canale sopprime contenuti frequenziali non trascurabili dal segnale dati (6.35↑), allora gli impulsi g(t) si deformano (vedi § 5.1.2.2↑) e non sono più rettangolari; in particolare, possono estendersi per una durata maggiore di Ts, causando problemi di interferenza tra simboli [97] [97]Come mostrato al § 5.1.2.2↑, il segnale dati filtrato è basato su impulsi g’(t)=g(t)*h(t), con una durata pari alla somma delle durate di g(t) e h(t). Pertanto, l’impulso ang(t−nTs) si estende a valori di t>(n+ 1)Ts, e quindi x((n+ 1)Ts)=an+ 1g(0)+ang(Ts), introducendo un errore pari a ang(Ts), detto appunto interferenza tra simboli. (ISI).
Limitazione nel tempo
Il problema della limitazione di banda potrebbe essere risolto adottando, in linea di principio, un impulso elementare di tipo g(t)=sinc⎛⎝(t)/(Ts)⎞⎠, che ha trasformata G(f)=Ts⋅rect(1)/(Ts)(f) strettamente limitata in banda, con frequenza massima W=(1)/(2Ts), e che non subisce alterazioni purché il canale abbia un comportamento “passa tutto” in tale ristretto intervallo di frequenze. Notiamo che questa g(t) passa da zero per t=nTs, e pertanto non provoca interferenza tra i simboli collocati agli istanti nTs, come verificabile notando che in tal caso l’espressione (6.35↑) risulta del tutto simile alla (6.15↑) relativa alla ricostruzione di una segnale campionato; ora però non siamo interessati al valore del segnale negli istanti che intercorrono tra quelli in cui sono centrati i simboli, mentre desideriamo unicamente recuperare i singoli valori originali, che troviamo in modo esatto agli istanti t=nTs.
Lo svantaggio di adottare una forma d’onda g(t) limitata in frequenza, è che il suo andamento è illimitato nel tempo, e dunque g(t) può essere realizzata solo in modo approssimato [98] [98] Un sistema fisico che debba realizzare una risposta impulsiva g(t)=sinc⎛⎝(t)/(Ts)⎞⎠, non può presentare g(t)≠ 0 per t< 0: questo equivarrebbe infatti ad un sistema in grado di produrre una uscita prima ancora che sia applicato un segnale al suo ingresso. Se g(t) ha estensione temporale illimitata, occorre ricorrere ad una versione ritardata e limitata g’(t)=⎧⎨⎩ g(t−TR) con t≥ 0 0 altrimenti . Se TR≫Ts, l’entità dell’approssimazione è accettabile, ed equivale ad un semplice ritardo pari a TR; d’altro canto, quanto maggiore è la durata della risposta impulsiva, tanto più difficile (ossia costosa) risulta la realizzazione del filtro relativo.
.
Limitazione di precisione
Abbiamo appena mostrato come, adottando una g(t)=sinc⎛⎝(t)/(Ts)⎞⎠, si evita l’interferenza tra simboli, purché i campioni vengano prelevati esattamente agli istanti nTs ( [99] [99]Al contrario, se g(t)=rectTs(t), il campionamento può avvenire ovunque nell’ambito del periodo di simbolo, ma si torna al caso di elevata occupazione di banda.). Infatti, al di fuori di tali istanti il valore del segnale dipende dal valore delle code degli impulsi g(t) centrati sugli altri simboli.
L’orologio (clock) del ricevitore, però, non ha una precisione infinita, e gli istanti di campionamento↓ saranno affetti da errori di fase. Pertanto, è interessante ricercare una soluzione per g(t) che, anche in presenza di errori di precisione nella determinazione degli istanti di campionamento, dia luogo ad errori quanto più ridotti possibile.
Riepilogando: vorremmo soddisfare contemporaneamente le esigenze:

- 1. Occupare una banda contenuta
  2. Ricorrere ad un filtro poco complesso
  3. Ridurre la sensibilità agli errori di campionamento

Per i punti 2 e 3, è sufficente adottare g(t) di tipo rettangolare, generando un segnale dati del tipo x(t)=∑kak⋅rectτ(t−kTs), che ha lo svantaggio di occupare una banda infinita, e quindi la sua ricezione inalterata è possibile solo per canali ideali.
Prima di esporre una soluzione di compromesso a tutti e 3 i problemi, consideriamo che la trasmissione di x(t) su di un canale non ideale H(f) determina un effetto di cui al § 5.1.2.2↑ abbiamo tenuto conto considerando di ricevere un segnale dati caratterizzato da un impulso g’(t)=g(t)*h(t). Pertanto, nel caso in cui H(f) sia noto a priori, i risultati che troveremo (validi per g’(t)) individueranno in realtà un formatore di impulsi con G(f)=(G’(f))/(H(f)).

#### 5.2.2.2Condizioni di Nyquist↓

Individuiamo con questo termine i requisiti formali che devono essere soddisfatti dagli impulsi usati per generare il segnale dati.
Nel tempo
Torniamo a riferirci alla (6.35↑) per osservare che, affinché x(t)|t=nTs dipenda dal solo valore an e non dagli altri ak con k≠n, deve risultare
(6.37) g(t)=⎧⎪⎨⎪⎩ 1 se t= 0 0 se t=mTs con m≠ 0 ∀ altrove
e cioè g(t) deve passare da zero in tutti gli istanti multipli di Ts, tranne che per t= 0 dove deve valere 1, mentre per valori di t intermedi può assumere qualunque valore. In tal caso infatti dalla (6.35↑) si ottiene:
x(nTs)= ⎲⎳kak⋅g(nTs−kTs)= ⎲⎳kak⋅g((n−k)Ts)=an
Le condizioni (6.37↑) prendono il nome di condizioni di Nyquist per l’assenza di interferenza intersimbolo (isi↓↓, Inter Symbol Interference) nel dominio del tempo. Se una forma d’onda g(t) soddisfa tali condizioni, allora viene detta impulso di Nyquist↓( [100] [100]Ad esempio, l’impulso rettangolare è di Nyquist, in quanto rectTs(t)=⎧⎨⎩ 1 se t<(Ts)/(2) 0 se t=kTs .).
In frequenza
Dalle condizioni di Nyquist nel tempo (6.37↑) se ne derivano altre in frequenza, mediante i seguenti passaggi. Moltiplicando g(t) per un treno di impulsi πTs(t)=∑kδ(t−kTs), si ottiene
g(t)⋅πTs(t)=δ(t)
dato che g(nTs)= 0 e g(0)= 1. Trasformando (vedi § 3.8.3↑) si ottiene:
1 =G(f)*(1)/(Ts)⋅Π(1)/(Ts)(f)=G(f)*(1)/(Ts)⋅ ⎲⎳kδ⎛⎝f−k(1)/(Ts)⎞⎠
Indicando con fs=(1)/(Ts) la frequenza di simbolo, ed eseguendo le convoluzioni tra G(f) e gli impulsi centrati in f=kfs, risulta infine
(6.38) ⎲⎳kG(f−kfs)=Ts
che rappresenta la condizione in frequenza per l’assenza di interferenza intersimbolo. Il risultato ottenuto si interpreta considerando che una qualunque G(f) va bene purché, se sommata con le sue repliche traslate di multipli di fs, dia luogo ad una costante, ovvero G(f) manifesta simmetria dispari rispetto ad fs⁄2. In tal caso G(f) può essere indicato come filtro di Nyquist↓. Notiamo che, seppure G(f) possa essere qualsiasi, anche non limitata in banda, il nostro interesse è appunto per le G(f) limitate in banda, come quella triangolare dell’esempio a lato.
Figura 5.12  Filtro a coseno rialzato e impulso di Nyquist per fs= 0.5, variando γ

#### 5.2.2.3Filtro a coseno rialzato ↓

Individua una famiglia parametrica di filtri di Nyquist limitati in banda, e viene detto a coseno rialzato in quanto è composto da 2 archi di coseno, raccordati da una retta (vedi Fig. 5.12↑). La banda occupata ha espressione
(6.39) B=(fs)/(2)(1 +γ)
in cui γ è chiamato coefficiente di roll-off [101] [101]Il termine roll-off può essere tradotto come “rotola fuori “., è compreso tra 0 e 1, e rappresenta un indice di dispersione del ramo di coseno. La banda di G(f) varia quindi da un minimo (per γ= 0) pari a B=fs⁄ 2, con G(f) rettangolare, ad un massimo (per γ= 1) pari a B=fs, con G(f) che è proprio un periodo di coseno.
Il caso di banda minima↓ si ottiene per γ= 0, che corrisponde a G(f)=(1)/(fs)rectfs(f), ovvero ad una g(t)=sinc(fst), come già discusso a pag. 1↑ al § sulla limitazione nel tempo. Occupare una banda inferiore a quella minima non è possibile, perchè in tal caso non sarebbero verificate le condizioni di Nyquist in frequenza, in quanto nella ∑kG(f−kfs) resterebbero dei “buchi”.
Abbiamo già osservato alla nota (59↑) a pagina 1↑ come la realizzazione di G(f) a banda minima sia complessa, e possa introdurre notevole isi in presenza di errori negli istanti di campionamento. La situazione però migliora decisamente usando γ> 0, con γ via via più grande. Se γ≠ 0, per g(t) si può ottenere l’espressione
(6.40) g(t)=sinc(tfs)⋅(cosγπtfs)/(1 −(2γtfs)2)
a cui corrisponde una forma d’onda simile al (sin(x))/(x), ma che va a zero molto più rapidamente, come verificabile osservando la parte destra di Fig. 5.12↑. Pertanto, se γ→ 1 ogni singola onda g(t−kTs)

Figura 5.13  Segnale dati ed eye diagram per diversi valori di roll-off
estenderà la sua influenza ad un numero di impulsi limitrofi molto ridotto rispetto al caso γ= 0, in quanto le oscillazioni sono molto più smorzate, e dunque il termine di errore di ampiezza in presenza di un errore di istante di campionamento è ridotto, dato che dipende da un minor numero di impulsi limitrofi.
La fig 5.13↑ mostra l’andamento del segnale dati con g(t) fornito dalla (6.40↑), calcolata per γ= 0.5, e per ak a due valori, pari a 0 e 1. Notiamo che, al difuori degli istanti caratteristici t=kTs il segnale può assumere valori arbitrari, anche esterni alla dinamica degli ak.
La rappresentazione fornita dal diagramma ad occhio, sempre mostrata in fig 5.13↑, permette di valutare meglio la precisione di temporizzazione che è necessaria ad evitare isi, e che è pari a metà della apertura orizzontale↓ dell’occhio. Gli ultimi due diagrammi permettono il confronto con i casi ripettivamente a banda minima e massima (per γ= 1), evidenziando l’influenza del roll-off.

#### 5.2.2.4Codice di Gray↓

Si tratta di un accorgimento che consente di ridurre l’effetto degli errori commessi dal decisore (vedi § 5.3↓) in presenza di trasmissione multilivello (§ 5.1.2.4↑).
Per fissare le idee, supponiamo che il valore analogico dei livelli presenti nel segnale dati sia in corrispondenza lineare con il valore numerico dell’uscita del convertitore serie-parallelo (vedi fig. a pagina 1↑), ovvero che i livelli siano “numerati in binario”, e livelli contigui rappresentino configurazioni di bit “in sequenza naturale”, come mostrato in figura. Allora, se trasmettiamo ad esempio il livello associato a 100, ed il decisore commette l’errore [102] [102]L’errore è causato dal rumore additivo che, sommandosi al segnale ricevuto (vedi Fig. 5.1↑), ne modifica il valore, fornendo al decisore valori diversi da quelli trasmessi. di ritenere di aver ricevuto il livello contiguo, che rappresenta la sequenza 011, abbiamo tutti e tre i bit sbagliati!
Il codice di Gray consiste quindi in una tabella di conversione che sostituisce ai bit uscenti dal convertitore serie-parallelo, una diversa configurazione di bit. Possiamo immaginare l’operazione come quella di un accesso a memoria, in cui la parola originaria costituisce l’indirizzo, per mezzo del quale si individua la parola codificata da trasmettere al suo posto. La conversione è biunivoca (a partire dal codice si risale alla parola originaria), e le parole del codice di Gray hanno la proprietà di rappresentare i livelli di segnale contigui come configurazioni di bit che differiscono solo in una cifra binaria (ossia in un bit).

Ingresso binario | Uscita (livello)
100 | 111
101 | 110
111 | 101
110 | 100
010 | 011
011 | 010
001 | 001
000 | 000

Con riferimento alla tabella, osserviamo che (ad esempio) per trasmettere la sequenza 110 di ingresso, si usa il livello numero 100, ossia il quarto (partendo da zero), lo stesso dell’esempio precedente; se il decisore sbaglia e ritiene di aver ricevuto il terzo livello (011, stesso errore precedente), a questo il decodificatore di Gray associa la sequenza 010, che infatti differisce dall’originale per un solo bit (il primo).
Il procedimento illustrato, in presenza di un errore sul simbolo, produce un solo bit errato. Ciò comporta che la probabilità di osservare un bit errato è pari a Pbe=Pse⁄M, con M pari al numero di bit/simbolo. Infatti
Pbe=(N.Bit errati)/(N.Bit totali)=(N.Simboli errati)/(M⋅N.Simboli)=Pse(1)/(M)
Riassumendo La figura che segue mostra la sequenza generale delle operazioni da intraprendere per generare un segnale dati mutilivello, con codifica di Gray, e con caratteristica a coseno rialzato.
Notiamo dunque che mentre alla sequenza binaria an compete una velocità di fb bit/secondo, la sequenza multilivello bm possiede invece un ritmo di
fs=(fb)/(M)=(fb)/(log2L)
simboli/secondo, ed il segnale dati risultante x(t) occupa una banda a frequenze positive (vedi eq. 6.39↑)
(6.41) B=(fs(1  +γ))/(2)=(fb(1 +γ))/(2log2L)

PrecSezione 5.1: Trasmissione su canale numerico SuCapitolo 5: Trasmissione dati in banda base Sezione 5.3: Errori nelle trasmissioni numeriche di banda baseSegue